Skip to content

feat: Upgrade Starlight, add Algolia DocSearch, sitemap discovery#71

Closed
Quantumlyy wants to merge 20 commits into
mainfrom
docsearch
Closed

feat: Upgrade Starlight, add Algolia DocSearch, sitemap discovery#71
Quantumlyy wants to merge 20 commits into
mainfrom
docsearch

Conversation

@Quantumlyy

@Quantumlyy Quantumlyy commented May 31, 2026

Copy link
Copy Markdown
Member

Summary

Bumps the docs site to Astro 6 + Starlight 0.39 so we can use the official DocSearch plugin instead of a custom search component. Adds Algolia site verification, robots.txt with a sitemap URL, and moves the lockfile to bun.lock (text).

Search in the header is now Algolia (EFP docs index). Pagefind is turned off by the DocSearch plugin. Sitemap was already generated via Starlight once site is set; this PR adds crawler discovery through robots.txt.

Why the big upgrade

@astrojs/starlight-docsearch needs Starlight ≥0.38, which needs Astro 6. We were on Astro 4 / Starlight 0.16, so the upgrade is a package requirement, not a nice-to-have.

Tailwind had to move too: Starlight’s current setup uses Tailwind v4 with @tailwindcss/vite, not @astrojs/tailwind + tailwind.config.ts.

Changes

Algolia DocSearch

  • @astrojs/starlight-docsearch in Starlight plugins with app ID ZNH496WHXH, index EFP docs
  • <meta name="algolia-site-verification" content="C3213343673844A1" /> in global head for domain verification
  • askAi not wired yet (no assistant ID)

SEO / crawlers

  • src/pages/robots.txt.ts — builds robots.txt at deploy time, sitemap URL derived from site (https://docs.efp.app/sitemap-index.xml)
  • site was already set; Starlight still emits sitemap-index.xml on build

Starlight / Astro

  • Astro ^4.2^6.4, Starlight ^0.16^0.39
  • Content collections: src/content/config.tssrc/content.config.ts with docsLoader() / i18nLoader()
  • src/content/i18n/en.json added (empty) so the i18n loader stops warning
  • social config updated to the array shape Starlight expects now
  • Removed Astro 4 experimental.clientPrerender / contentCollectionCache (not valid on Astro 6)

Tailwind

  • Dropped @astrojs/tailwind and tailwind.config.ts
  • src/styles/tailwind.css uses Starlight’s Tailwind v4 pattern (@import '@astrojs/starlight-tailwind', @theme for accent/gray/fonts)
  • custom.css unchanged — that’s still where most of the visual branding lives

Other dependency / repo cleanup

  • @sentry/astro bumped to v10
  • @spotlightjs/astro removed (peer/types broken on Astro 6; dev-only)
  • bun.lockbbun.lock
  • tsconfig.json: skipLibCheck, drop reference to deleted tailwind.config.ts
  • Removed src/components/Head.astro — it was never registered in components.Head, so ViewTransitions weren’t actually running

Summary by CodeRabbit

  • New Features

    • Improved site search and indexing (site search integration + verification meta tag)
    • Added robots.txt for better crawling
  • Refactor

    • Upgraded build toolchain and dev dependencies
    • Restructured styling pipeline and CSS load order; refined markdown/starlight styling
    • Removed page view transitions
  • Documentation

    • Extensive editorial and formatting updates across docs and contributor guide
  • Other

    • LLM context/links reorganized (public llms.txt removed; optional links added)

Copilot AI review requested due to automatic review settings May 31, 2026 18:41
@coderabbitai

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0e35b6ec-ee49-400b-9500-c7c261a5f999

📥 Commits

Reviewing files that changed from the base of the PR and between 2521c35 and 280e2f8.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (12)
  • .eslintrc.cjs
  • astro.config.ts
  • package.json
  • public/llms-full.txt
  • public/llms.txt
  • src/content/docs/llmstxt.mdx
  • src/content/docs/production/emergency-response.mdx
  • src/content/docs/production/interpreting-state.mdx
  • src/content/docs/production/silo.mdx
  • src/llms-txt-optional-links.ts
  • src/styles/tailwind.css
  • tailwind.config.ts
💤 Files with no reviewable changes (1)
  • public/llms.txt
✅ Files skipped from review due to trivial changes (2)
  • src/content/docs/production/emergency-response.mdx
  • src/content/docs/production/silo.mdx
🚧 Files skipped from review as they are similar to previous changes (5)
  • .eslintrc.cjs
  • tailwind.config.ts
  • package.json
  • astro.config.ts
  • src/content/docs/production/interpreting-state.mdx

📝 Walkthrough

Walkthrough

The PR replaces the Astro Tailwind integration with @tailwindcss/vite, adds Starlight DocSearch and llms.txt wiring, moves content collection exports to src/content.config.ts, adds a robots.txt route, updates CSS layering and custom Starlight styles, tweaks a small runtime script and ESLint MDX rule, and performs broad documentation formatting edits.

Changes

Tailwind Vite Plugin and Build Configuration

Layer / File(s) Summary
Tailwind build, packages, and config
package.json, tailwind.config.ts
package.json clean script updated; many devDependencies changed (removed @astrojs/tailwind, added @tailwindcss/vite, bumped Astro/Tailwind/etc.). tailwind.config.ts reduced to minimal theme.extend.typography overrides.

Starlight Documentation Search Plugin

Layer / File(s) Summary
Starlight plugins and head meta
astro.config.ts
Starlight plugins now include starlightLlmsTxt and starlightDocSearch (configured), social converted to an array of icon/label/href, and an algolia-site-verification meta tag was added to the head.

Content Collection Module Migration

Layer / File(s) Summary
Content collection export and TS updates
src/content.config.ts, src/content/i18n/en.json, tsconfig.json, src/llms-txt-optional-links.ts
Adds src/content.config.ts exporting collections for docs and i18n, sets src/content/i18n/en.json to an empty object, updates tsconfig.json (skipLibCheck: true, includes src/content.config.ts), and adds src/llms-txt-optional-links.ts exporting optional links.

Head & Routes

Layer / File(s) Summary
View transitions removal and robots.txt route
src/components/Head.astro, src/pages/robots.txt.ts
Removes ViewTransitions import/usage from Head.astro and adds src/pages/robots.txt.ts with a GET handler emitting robots.txt that includes a computed Sitemap: URL.

Styles & Custom CSS

Layer / File(s) Summary
Tailwind layered CSS and Starlight custom styles
src/styles/tailwind.css, src/styles/custom.css
src/styles/tailwind.css switches to explicit layered imports and declares theme CSS variables; src/styles/custom.css adds scoped .sl-markdown-content typography/link/inline-code overrides.

Public scripts and lint

Layer / File(s) Summary
Anchor target script and ESLint MDX override
public/anchor-targets.js, .eslintrc.cjs
public/anchor-targets.js registers DOMContentLoaded on globalThis; ESLint MDX/Markdown override disables @typescript-eslint/consistent-type-imports with an explanatory comment.

Documentation formatting changes

Layer / File(s) Summary
Docs reformatting and content clarifications
CLAUDE.md, src/content/docs/*, funding.json
Numerous MDX/markdown files were reformatted for spacing, tables, code-block consistency, and a few examples were clarified; funding.json had indentation tweaks.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐇 A flutter of classes, Tailwind takes a new ride,
Starlight finds its search and plugins sit beside.
Collections moved, robots sing the sitemap tune,
Docs polished bright beneath the migration moon.
A rabbit hums—deployments await soon!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: upgrading Starlight, adding Algolia DocSearch support, and implementing sitemap discovery via robots.txt.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docsearch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@socket-security

socket-security Bot commented May 31, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: ?npm/astro@6.4.2npm/entities@4.5.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@4.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: ?npm/starlight-links-validator@0.24.0npm/@astrojs/starlight@0.39.2npm/starlight-llms-txt@0.10.0npm/astro@6.4.2npm/entities@6.0.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@6.0.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the Astro/Starlight docs site to support the official Starlight DocSearch integration, while updating SEO/crawler discovery and modernizing the Tailwind setup to Starlight’s current Tailwind v4 pattern.

Changes:

  • Upgraded Astro → v6 and Starlight → v0.39; updated related tooling/dependencies and config shapes (e.g., social).
  • Added Algolia DocSearch integration + site verification meta tag.
  • Added deploy-time robots.txt endpoint that advertises the generated sitemap, and migrated content collections config to src/content.config.ts.

Reviewed changes

Copilot reviewed 9 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tsconfig.json Enables skipLibCheck and updates tracked config file list for the new content config entrypoint.
tailwind.config.ts Removes Tailwind v3 config as Tailwind v4 is now driven via CSS + Vite plugin.
src/styles/tailwind.css Switches to Tailwind v4 + Starlight Tailwind import pattern and defines theme tokens.
src/pages/robots.txt.ts Adds a robots.txt endpoint that includes a sitemap URL derived from site.
src/content/i18n/en.json Adds an empty i18n data file to satisfy the new i18n loader expectations.
src/content/config.ts Removes the old Astro content collections config location.
src/content.config.ts Adds the new collections config using Starlight loaders (docsLoader/i18nLoader).
src/components/Head.astro Removes an unused Head component previously intended for view transitions.
package.json Upgrades dependencies to Astro 6/Starlight 0.39, adds DocSearch + Tailwind v4 Vite plugin, removes deprecated integrations.
astro.config.ts Updates Starlight config for new versions, adds DocSearch + Algolia verification meta, and switches Tailwind integration to @tailwindcss/vite.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json Outdated
Comment thread astro.config.ts
@greptile-apps

greptile-apps Bot commented May 31, 2026

Copy link
Copy Markdown

Greptile Summary

This PR upgrades the docs site from Astro 4 / Starlight 0.16 to Astro 6 / Starlight 0.39, primarily to enable the official @astrojs/starlight-docsearch (Algolia) plugin. The upgrade also migrates Tailwind from v3 @astrojs/tailwind to v4 @tailwindcss/vite, moves content collection config to the new src/content.config.ts loader pattern, and adds crawler infrastructure (robots.txt, starlight-llms-txt).

  • Astro 6 + Starlight 0.39 migration: content collection loaders, social array shape, removal of deprecated experimental flags, and @tailwindcss/vite integration are all handled correctly.
  • Algolia DocSearch: wired with a public search-only API key (standard practice); Pagefind disabled by the plugin automatically.
  • Tailwind v4 @theme block: accent palette and gray scale mapped to Starlight CSS variables, but shades 700–950 are missing — Starlight's @astrojs/starlight-tailwind needs the full 50–950 range to populate dark-mode accent variables.

Confidence Score: 4/5

Safe to merge after confirming dark-mode accent colours render correctly; the missing accent shades in the @theme block will leave interactive elements unstyled in dark mode.

The Tailwind v4 @theme block defines accent colours only up to shade 600. Starlight's @astrojs/starlight-tailwind plugin maps shades 700–950 to its dark-mode CSS variables; without them those variables resolve to initial, making links, buttons, and focus rings potentially invisible in dark mode. Everything else in the migration — content loaders, Algolia wiring, robots.txt, CSS layer order — looks correct.

src/styles/tailwind.css — accent shades 700–950 are missing from the @theme block

Important Files Changed

Filename Overview
astro.config.ts Correctly migrates from Astro 4/Starlight 0.16 to Astro 6/Starlight 0.39: switches social config to array shape, adds Algolia DocSearch plugin with public search-only key, reorders customCss so tailwind loads before custom overrides, removes deprecated experimental flags.
src/styles/tailwind.css Migrated to Tailwind v4 @theme syntax. Missing accent shades 700–950 which are required by @astrojs/starlight-tailwind to populate Starlight's dark-mode CSS variables; affected interactive elements will be unstyled in dark mode.
src/styles/custom.css Adds migrated typography-plugin overrides targeted at .sl-markdown-content instead of .prose, preserving visual parity with the dropped tailwind.config.ts plugin rules.
src/pages/robots.txt.ts Generates robots.txt at build time with a sitemap URL derived from the Astro site config; includes a proper guard for the undefined site case.
src/content.config.ts New Astro 5+ content collection config using docsLoader()/i18nLoader() from Starlight; replaces the deleted src/content/config.ts.
CLAUDE.md Formatting improvements but retains stale references to Astro v4.2.4 and src/content/config.ts that no longer match the updated project.
tailwind.config.ts Stripped down to typography-only theme extensions; removed content, darkMode, plugins, and full color/font theme that have moved to tailwind.css @theme and @plugin directives.
tsconfig.json Adds skipLibCheck:true for Astro 6/Starlight 0.39 peer dependency type noise, replaces tailwind.config.ts with src/content.config.ts in files list.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[astro.config.ts] --> B[Starlight 0.39]
    A --> C[tailwindcss vite plugin]
    A --> D[Sentry v10]

    B --> E[starlightDocSearch Algolia]
    B --> F[starlightLlmsTxt]
    B --> G[starlightLinksValidator]
    B --> H[src/content.config.ts]

    F --> F1[llms.txt]
    F --> F2[llms-full.txt]
    F --> F3[llms-small.txt]

    A --> CSS[customCss order]
    CSS --> J[tailwind.css]
    CSS --> K[custom.css]

    J --> M[theme accent 50-600 only]
    M --> N[accent 700-950 missing]
    N --> O[dark-mode interactive elements unstyled]

    A --> L[robots.txt.ts]
    L --> SiteMap[sitemap-index.xml]
Loading

Fix All in Conductor Fix All in Cursor Fix All in Codex Fix All in Claude Code

Reviews (7): Last reviewed commit: "feat: Integrate starlight-llms-txt for a..." | Re-trigger Greptile

Comment thread src/pages/robots.txt.ts
Comment thread src/styles/tailwind.css
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 31, 2026

Copy link
Copy Markdown

Deploying docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 280e2f8
Status:🚫  Build failed.

View logs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
src/styles/tailwind.css (1)

30-30: 💤 Low value

--font-serif starts with a sans-serif face.

The serif stack leads with Inter, which is a sans-serif typeface, before the serif fallbacks. If a genuine serif is intended for serif contexts, lead with an actual serif family; otherwise this token effectively renders sans-serif.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/styles/tailwind.css` at line 30, The CSS custom property --font-serif
currently begins with the sans-serif "Inter", so update the definition of
--font-serif to start with a true serif family (e.g., "Georgia, Cambria, 'Times
New Roman', Times, serif") or, if the intent was to use Inter, rename the
variable to --font-sans and keep the sans-serif stack; change the declaration in
the CSS where --font-serif is defined accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@astro.config.ts`:
- Around line 296-300: The config is embedding an Algolia API key that must be a
public search-only key; update the starlightDocSearch invocation to use a
search-only (search) API key instead of any admin/write key and avoid
hard-coding secrets—pull the key from a secure env var (referencing
starlightDocSearch and its apiKey parameter) or replace the literal with the
dedicated search-only key, and verify the referenced indexName ('EFP docs') only
contains content safe for public exposure.

In `@src/pages/robots.txt.ts`:
- Around line 10-11: The GET handler constructs sitemapURL using new
URL('sitemap-index.xml', site) but site can be undefined; add a guard at the
start of the exported GET function to check that the site parameter exists (site
!== undefined) and handle the undefined case (e.g., return an appropriate
Response with an error status or use a safe fallback base) before calling new
URL; update references to sitemapURL after this guard so the runtime TypeError
is prevented.

In `@src/styles/tailwind.css`:
- Around line 10-16: The accent color ramp variables (--color-accent-50,
--color-accent-100, --color-accent-200, --color-accent-300, --color-accent-400,
--color-accent-500, --color-accent-600) are inconsistent and contain a
duplicated hex (`#ffde60`) and mixed hues; pick the intended hue family (pink or
yellow) and replace --color-accent-200 and --color-accent-300 with progressive,
non-duplicated shades that form a monotonic ramp toward --color-accent-600 so
the theme scales predictably (e.g., if keeping the pink ramp, change 200/300/600
to pink variants; if keeping yellow, change 50/100/400/500 to yellow variants),
then run a quick visual check where Starlight consumes the ramp to confirm
links/accents look correct.

---

Nitpick comments:
In `@src/styles/tailwind.css`:
- Line 30: The CSS custom property --font-serif currently begins with the
sans-serif "Inter", so update the definition of --font-serif to start with a
true serif family (e.g., "Georgia, Cambria, 'Times New Roman', Times, serif")
or, if the intent was to use Inter, rename the variable to --font-sans and keep
the sans-serif stack; change the declaration in the CSS where --font-serif is
defined accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bcb3f8f9-a878-4455-8303-02409a0024ed

📥 Commits

Reviewing files that changed from the base of the PR and between 162b032 and 7a43720.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • bun.lockb is excluded by !**/bun.lockb
📒 Files selected for processing (10)
  • astro.config.ts
  • package.json
  • src/components/Head.astro
  • src/content.config.ts
  • src/content/config.ts
  • src/content/i18n/en.json
  • src/pages/robots.txt.ts
  • src/styles/tailwind.css
  • tailwind.config.ts
  • tsconfig.json
💤 Files with no reviewable changes (3)
  • src/content/config.ts
  • src/components/Head.astro
  • tailwind.config.ts

Comment thread astro.config.ts
Comment thread src/pages/robots.txt.ts
Comment thread src/styles/tailwind.css Outdated
@greptile-apps

greptile-apps Bot commented May 31, 2026

Copy link
Copy Markdown

Want your agent to iterate on Greptile's feedback? Try greploops.

@Quantumlyy

Copy link
Copy Markdown
Member Author

@greptileai

- disables `@typescript-eslint/consistent-type-imports` in MDX files due to parser limitations
- updates `window.addEventListener` to `globalThis.addEventListener` for broader environment compatibility
- standardizes whitespace, newlines, and markdown table formatting across documentation and configuration files

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/content/docs/production/silo.mdx (1)

109-112: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix broken PgBouncer table formatting.

Line 111 has the entire PgBouncer configuration table collapsed onto a single line, making it unreadable. This should be reformatted as a proper Markdown table like the other sections.

📋 Proposed fix
 #### PgBouncer
 
-(see [PgBouncer Docs](https://www.pgbouncer.org/config.html) for more information) | Variable Name | Description | |-----------------------------------|-----------------------------------------------------| | `PGBOUNCER_DEFAULT_POOL_SIZE` | Amount of connections per pool | | `PGBOUNCER_MAX_CLIENT_CONN` | Maximum number of client connections | | `PGBOUNCER_POOL_MODE` | 'Session' or 'Transaction' | | `PGBOUNCER_QUERY_TIMEOUT` | Amount of seconds to wait before dropping query |
+(see [PgBouncer Docs](https://www.pgbouncer.org/config.html) for more information)
+
+| Variable Name                 | Description                                         |
+| ----------------------------- | --------------------------------------------------- |
+| `PGBOUNCER_DEFAULT_POOL_SIZE` | Amount of connections per pool                      |
+| `PGBOUNCER_MAX_CLIENT_CONN`   | Maximum number of client connections                |
+| `PGBOUNCER_POOL_MODE`         | 'Session' or 'Transaction'                          |
+| `PGBOUNCER_QUERY_TIMEOUT`     | Amount of seconds to wait before dropping query     |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/content/docs/production/silo.mdx` around lines 109 - 112, The PgBouncer
section header "PgBouncer" contains a collapsed single-line table; replace it
with a properly formatted Markdown table under that heading matching the
project's table style: include a header row ("Variable Name | Description"), a
separator row ("--- | ---"), and one row per variable
(`PGBOUNCER_DEFAULT_POOL_SIZE`, `PGBOUNCER_MAX_CLIENT_CONN`,
`PGBOUNCER_POOL_MODE`, `PGBOUNCER_QUERY_TIMEOUT`) with their corresponding
descriptions so the table is readable and consistent with other docs.
🧹 Nitpick comments (2)
.eslintrc.cjs (1)

33-34: 💤 Low value

Clarify the comment—this rule is not type-aware.

@typescript-eslint/consistent-type-imports is a stylistic rule that doesn't require parserServices or type information. The actual reason for disabling it is likely that the MDX parser doesn't provide a compatible AST structure for TypeScript imports, causing the rule to error or misbehave.

Consider revising the comment to be more accurate, e.g.:

// MDX parser doesn't provide proper TypeScript import AST; this rule errors on MDX files.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.eslintrc.cjs around lines 33 - 34, Update the comment above the
'`@typescript-eslint/consistent-type-imports`' rule to accurately reflect why it's
disabled: state that the MDX parser doesn't produce a proper TypeScript import
AST so this stylistic rule errors or misbehaves on MDX files (e.g., "MDX parser
doesn't provide proper TypeScript import AST; this rule errors on MDX files.").
tailwind.config.ts (1)

16-20: 💤 Low value

Unused theme parameter in the typography callback.

The destructured theme is never referenced in the returned css object. With ESLint running at --max-warnings=0, an unused-argument rule could fail the lint step. Drop the parameter (and its type annotation) since the callback no longer needs it.

♻️ Proposed simplification
-      typography: ({
-        theme
-      }: {
-        theme: (path: string) => string | number | Record<string, unknown> | unknown[] | undefined
-      }) => ({
+      typography: () => ({
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tailwind.config.ts` around lines 16 - 20, The typography callback in
tailwind.config.ts currently destructures a theme parameter that isn't used;
remove the unused parameter and its type annotation from the typography: ({
theme }: ...) => (...) signature so the callback becomes a no-arg arrow function
(e.g., typography: () => ({ ... })), updating the function declaration for the
typography export accordingly to avoid lint failures for unused arguments.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/content/docs/production/emergency-response.mdx`:
- Line 47: Replace the misspelled phrase "accouint metadata" with the correct
"account metadata" in the sentence that reads "If there is bad account
metadata..." so the sentence becomes "If there is bad account metadata in any of
the records from the affected account metadata contract, users may have to
re-execute any transactions that were called against the affected contract";
search for the exact incorrect token "accouint metadata" to locate the line to
edit.

In `@src/content/docs/production/interpreting-state.mdx`:
- Line 37: Fix the typo in the sentence "Query the list metadata record in the
listRecords contract using the slot to verify the 'user' role..." by replacing
"existance" with the correct spelling "existence" (update the word in the
paragraph that mentions checking for the 'primary-list' record that matches this
list id and the user's address).
- Line 45: Replace the misspelled word "existance" with "existence" in the text
that describes querying the listRecords contract to find the 'user' role and
checking for a 'primary-list' record; update both occurrences (the one near
"primary-list" and the earlier instance noted at line 37) so the document uses
"existence" consistently.

In `@src/content/docs/production/silo.mdx`:
- Line 70: The sentence contains a typo: "than" should be "then" in the
paragraph starting "Most of the Environment variables..."; update that word to
"then" so the sentence reads "...there are a few settings then can be
customized..." (actually ensure the full sentence becomes "...there are a few
settings then can be customized to fit your needs." or better "...there are a
few settings that can be customized to fit your needs."), editing the text in
the content block of the docs (silo.mdx) to replace "than" with "then" (or
replace with "that" for clearer grammar).

In `@src/styles/tailwind.css`:
- Around line 3-7: Move the two Tailwind CSS `@import` directives (the lines
importing 'tailwindcss/theme.css' layer(theme) and 'tailwindcss/utilities.css'
layer(utilities)) to appear before any `@plugin` '`@tailwindcss/typography`' and
`@config` '../../tailwind.config.ts' directives so imports are processed first;
reorder the entries in src/styles/tailwind.css so all `@import` statements come at
the top, followed by `@plugin` and then `@config` to ensure deterministic
Tailwind/CSS directive parsing and cascade.

---

Outside diff comments:
In `@src/content/docs/production/silo.mdx`:
- Around line 109-112: The PgBouncer section header "PgBouncer" contains a
collapsed single-line table; replace it with a properly formatted Markdown table
under that heading matching the project's table style: include a header row
("Variable Name | Description"), a separator row ("--- | ---"), and one row per
variable (`PGBOUNCER_DEFAULT_POOL_SIZE`, `PGBOUNCER_MAX_CLIENT_CONN`,
`PGBOUNCER_POOL_MODE`, `PGBOUNCER_QUERY_TIMEOUT`) with their corresponding
descriptions so the table is readable and consistent with other docs.

---

Nitpick comments:
In @.eslintrc.cjs:
- Around line 33-34: Update the comment above the
'`@typescript-eslint/consistent-type-imports`' rule to accurately reflect why it's
disabled: state that the MDX parser doesn't produce a proper TypeScript import
AST so this stylistic rule errors or misbehaves on MDX files (e.g., "MDX parser
doesn't provide proper TypeScript import AST; this rule errors on MDX files.").

In `@tailwind.config.ts`:
- Around line 16-20: The typography callback in tailwind.config.ts currently
destructures a theme parameter that isn't used; remove the unused parameter and
its type annotation from the typography: ({ theme }: ...) => (...) signature so
the callback becomes a no-arg arrow function (e.g., typography: () => ({ ...
})), updating the function declaration for the typography export accordingly to
avoid lint failures for unused arguments.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 575e7f84-145f-4b61-9ead-6c08fc63e3ec

📥 Commits

Reviewing files that changed from the base of the PR and between 7a43720 and 2521c35.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (21)
  • .eslintrc.cjs
  • CLAUDE.md
  • funding.json
  • package.json
  • public/anchor-targets.js
  • src/content/docs/design/list-metadata.mdx
  • src/content/docs/design/tags.mdx
  • src/content/docs/intro/index.mdx
  • src/content/docs/llmstxt.mdx
  • src/content/docs/production/deployments.mdx
  • src/content/docs/production/emergency-response.mdx
  • src/content/docs/production/follow-bot.mdx
  • src/content/docs/production/infra.mdx
  • src/content/docs/production/interpreting-state.mdx
  • src/content/docs/production/new-chain-support.mdx
  • src/content/docs/production/silo.mdx
  • src/content/docs/translationbounty.mdx
  • src/pages/robots.txt.ts
  • src/styles/custom.css
  • src/styles/tailwind.css
  • tailwind.config.ts
💤 Files with no reviewable changes (1)
  • src/content/docs/intro/index.mdx
✅ Files skipped from review due to trivial changes (6)
  • src/content/docs/llmstxt.mdx
  • src/content/docs/translationbounty.mdx
  • src/content/docs/design/tags.mdx
  • src/content/docs/production/deployments.mdx
  • public/anchor-targets.js
  • funding.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/pages/robots.txt.ts

Comment thread src/content/docs/production/emergency-response.mdx Outdated
Comment thread src/content/docs/production/interpreting-state.mdx Outdated
Comment thread src/content/docs/production/interpreting-state.mdx Outdated
Comment thread src/content/docs/production/silo.mdx Outdated
Comment thread src/styles/tailwind.css
@Quantumlyy

Copy link
Copy Markdown
Member Author

@greptileai

@Quantumlyy Quantumlyy closed this Jun 1, 2026
@Quantumlyy Quantumlyy deleted the docsearch branch June 1, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants